<?php
namespace Common\Model;
use Common\Model\CommonModel;
/*常量字典表*/
class ConstantModel extends CommonModel
{
	
	//自动验证
	protected $_validate = array(
			//array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
			array('pname', 'require', '字典名称不能为空！', 1, 'regex', 3),
			array('pvalue', 'require', '字典值不能为空！', 1, 'regex', 3),
	);
	
	protected function _before_write(&$data) {
		parent::_before_write($data);
		$this->_deleteS();// 写入时候先清除缓存
	}
	
	/*获取会员等级*/
	public function getGrades(){
		$grades=S('grades');
		if(empty($grades)){
		    $grades=$this->where("parentid=1")->order('listorder asc')->select();
			S('grades',$grades);
		}
		return $grades;
	}
	
	/*清除缓存*/
	function _deleteS(){
		S('grades',null);
		S('ad_type',null);
		S('area',null);
	} 
	
	/*获取广类别  k——v*/
	public function getAdTypeKV(){
		$ad_type=S('ad_type');
		if(empty($ad_type)){
			$ad_type= $this->where("parentid=3")->getField("id,pvalue",true);
			S('ad_type',$ad_type);	
		}
		return $ad_type;
	}
	/*获取省份和城市*/
	public function getAreaKV(){
		$area=S('area');
		if(empty($area)){
			$provice=$this->where("parentid=2")->getField("id,pvalue",true);
			$city=$this->where("parentid in (".implode(',',array_keys($provice)).")")->getField("id,pvalue",true);
			S("area",$provice+$city);
		};
		return  $area;
	} 
	
}




